Set a user agent with the version when talking to the registry
authorSteven Fackler <sfackler@gmail.com>
Mon, 2 Jan 2017 03:35:30 +0000 (19:35 -0800)
committerSteven Fackler <sfackler@gmail.com>
Mon, 2 Jan 2017 03:35:30 +0000 (19:35 -0800)
This can be used to track what versions of Cargo are being used in the
wild, which can be very useful.

src/cargo/ops/registry.rs

index d937976f867acdc86448fcc9c9a208a1e5ef7b83..58b2894cd8beb1bfa58d2cf7a61b6924e677eef3 100644 (file)
@@ -12,6 +12,7 @@ use term::color::BLACK;
 
 use url::percent_encoding::{percent_encode, QUERY_ENCODE_SET};
 
+use version;
 use core::source::Source;
 use core::{Package, SourceId, Workspace};
 use core::dependency::Kind;
@@ -196,6 +197,7 @@ pub fn http_handle(config: &Config) -> CargoResult<Easy> {
     handle.connect_timeout(Duration::new(30, 0))?;
     handle.low_speed_limit(10 /* bytes per second */)?;
     handle.low_speed_time(Duration::new(30, 0))?;
+    handle.useragent(&version())?;
     if let Some(proxy) = http_proxy(config)? {
         handle.proxy(&proxy)?;
     }